The present invention, in some embodiments thereof relates to methods and systems for concise modeling and architecture optimization and, more specifically, but not exclusively, to methods and systems for compact modeling of systems as a combination of system modeling languages and datasets which support variability modeling and design optimization.
A modeling language is any artificial language that can be used to express information, knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the structure. Modeling languages are in wide use in the field of object-oriented software engineering, and recently in Systems Engineering. For example, unified modeling language (UML) is a standardized general-purpose modeling language. The UML standard is managed, and was created, by the Object Management Group.
In recent years, the practice of model-driven software and systems engineering gained substantial traction. In particular, several object-oriented modeling languages, such as UML and Modelica, are becoming wide-spread. Particular domains and platforms require adjustments of such model driven languages. Such an adjustment is, for example, a profile in UML. A profile in UML provides a generic extension mechanism for customizing UML models for particular domains and platforms. Extension mechanisms allow refining standard semantics in strictly additive manner, so that they can't contradict standard semantic. Profiles are defined using stereotypes, tag definitions, and constraints that are applied to specific model elements, such as Classes, Attributes, Operations, and Activities. A Profile is a collection of such extensions that collectively customize UML for a particular domain (e.g., aerospace, healthcare, financial) or platform (J2EE, NET). One example of a UML profile is the Systems Modeling Languages (SysML). SysML is an extension of a subset of UML which uses UML's profile mechanism. It supports the specification, analysis, design, verification and validation of a broad range of systems and systems-of-systems.
Model-Based Systems Engineering (MBSE) is a methodology for developing and analyzing systems using graphical representations of the underlying functions, requirements, architecture, relationships and interfaces that define the system. The MBSE approach helps to improve understanding and communication of complex system and system-of-systems designs. MBSE aims to overcome the limitations of the conventional document-based approach by leveraging computing tools to structure, share and automatically analyze design information. The ultimate purpose is to ensure specification completeness and consistency, traceability of requirements and design choices, reuse of design patterns and specifications, and a shared understanding of the designs among users and designers.
The acceptable practice today for modeling architecture alternatives for trade studies is to explicitly model different variants of the system which limit a number of alternative due to high effort required for modeling each of the alternatives. As a result many alternatives are not evaluated which results in sub-optimal design solutions. Some current model design methods, such as SysML parametric diagram along with IBM Rhapsody Parametric Constraint Evaluator (PCE), enable to model design alternatives, but are limited to variability of system primitive attributes, i.e. only attributes of primitive types can differ between design alternatives. Another related approach is a variation points modeling in product line engineering (PLE). Currently this technique is used to define PLE system variants, but the same technique could be used to define design alternatives.